#ifndef STATICALGORITHMDESIGNER_H
#define STATICALGORITHMDESIGNER_H

#include "AdaptiveAlgorithmDesignerBase.h"
namespace Ui {
class StaticAlgorithmDesigner;
}

class StaticAlgorithmDesigner : public AdaptiveAlgorithmDesignerBase
{
    Q_OBJECT
    
public:
    explicit StaticAlgorithmDesigner(QWidget *parent = 0);
    ~StaticAlgorithmDesigner();
    
private:
    Ui::StaticAlgorithmDesigner *ui;

    /**
        Wiąże obiekt algorytmu adaptacyjnego z tym widgetem.
        Zadaniem klasy implementującej jest odświeżenie interfejsu użytkownika
        po dołączeniu obiektu, tak by przedstawiał faktyczne ustawienia.
    */
    void attachAlgorithm(RafMat::SimInterface::IConfigurableSPtr ctrl);

    /**
        Zatwierdza zmiany w ustawieniach algorytmu.
        Metoda wywoływana po wciśnięciu odpowiedniego przycisku zatwierdzającego zmiany.
    */
    void applySettings();

    RafMat::SimInterface::IConfigurableSPtr m_targetAlgorithm;
};

#endif // STATICALGORITHMDESIGNER_H
